Scroll Menus v1.2
____________________________________________________
copyright 1994 Ben Gottlieb and Stand Alone Software

Scroll menus is an auto part package (which means there's no icon in your extras
drawer,) which, when installed, will allow any menu with too many items to fit on
screen to scroll. If there are more items after the items shown, tapping on the
down arrow will show the next screenful, and tapping the up arrow will show the
previous screen. The most common use for this is the card app in the extras
drawer. Now, if there are more than 23 packages installed on your newton, you can
get to all of them to delete those you no longer want. There are two versions of Scroll Menus...Double (ScrMnDbl.pkg) and Single (ScrMnSgl.pkg). The only difference is that Double places both arrows at the bottom of the list, and Single places the up arrow at the top, and the down arrow at the bottom. They cannot both be installed on your newton simultaneously.

NOTE: There is a conflict with Hardy Macia's ScrollingDoPopup package. It will
only occur if ScrollingDoPopup is installed *after* Scroll Menus. To alleviate it, 
install ScrollingDoPopup on the internal store, or remove Scroll Menus (kinda redundant to have both installed.) In addition, there are a few applications out there that do not adhere to convention, and make odd calls to the DoPopup function (which Scroll Menus patches.) As a result, sometimes when you bring up a popup menu, it will be misaligned with the button that called it. Don't worry, it will work normally, this is merely a cosmetic effect.

Programmer's Note: Scroll Menus allows you to add functionality to the standard
DoPopup command normally not available. You can change the starting position in
a multiline pop up, change the font on the menu, or set it to recieve multiple
selections before closing. This is all done by using a frame instead of an
array for the first argument. The DoPopup function will return a view, which is
the created protoPicker. You can send this view messages such as :Close(),
:SetItemMark(index, mark), and :GetItemMark(index).
The first argument has to be either an array of pick items, or a frame of the
following form:

	{
	 list: 			array,
	 stayOpen:		boolean,
	 viewFont:		fontFrame,
	 start: 		integer
	}
	
The slots are:

	list: 	An array of list items, the normal first argument to DoPopup.
	
	stayOpen:	A boolean. If true, the pop up will not close when an item is
		selected (but will close if the user taps outside of it.) You can close it
		manually by sending the view returned by the DoPopup command a :Close()
		message.
	
	viewFont:	either an integer (one of the fonts defined in the NTK
		definitions file,) or a font frame of the form:
			{family:	'newYork, 'espy, or 'geneva,
			 face: 		0 for plain, 1 for bold, 2 for italic, etc,
			 size: 		font size (an integer)
			}
			
	start: If it's a multiscreen list, then this will be the index of the first
		item shown (ie, if you pass 10, and it's a 40 item list, then the pop up
		will be shown with items 10 - 33, rather than 1 - 23.)
		
If you want to use the :SetItemMark(...) function, be sure your pickItems
are in RAM, because it will need to modify slots in them, and if they're in
package ROM, you'll get an exception (use DeepClone(pickItems) if your
pickitems are just a slot in your package.
	
Before calling this function with the frame, you should check to make sure that
the patch has been installed on the user's newton. Use this code fragment to
check this:

	IF functions.|OldDoPopup:SAS| EXISTS THEN
		DoPopup(frameArg, 0, 0, self);
	ELSE
		DoPopup(arrayArg, 0, 0, self);

If you would like to include a registered version of Scroll Menus in your
package, please contact me for distribution agreements.

___________
Legal Stuff:
I am in no way responsible for any loss of data that may occur as a direct or
indirect result of using this software package, so you can't sue me! 

_______________________________________________________________
If you have any comments, suggestions, bug reports, or requests, 
I can be reached at the following addresses:
Internet: 	StandAlone@Kagi.com
eWorld:		gottlb
AOL:		PDC Ben
CompuServe: 76342,3057
Snail Mail:	Stand Alone Software
			708 Forest Ave.
			Evanston, IL
			60202
_______________________________________________________________________________
This application is shareware. If you find it useful, please send US$10, (or US$5
if you're registering another application as well.)  to the above address. 
Please include an email address so that I can mail you a registered version. If
you don't have an email address, please add $2.50 for shipping and handling.
[make all checks out to Ben Gottlieb]

Thanks!
	Ben Gottlieb
	Stand Alone Software
	
_________________
Other Stuff by me:

KeyMan: Adds a row of keys to the normal keyboard (select all, cut, copy,
	paste, open Grafitti, front-delete,) a calculator display to the numeric
	keypad (for small calculations,) and a month view to the date keypad (to
	paste a selected day into the current text view.) (shareware)

More Folders: Let's you have an unlimited number of folders on the newton, and 
	speeds up filing. (shareware)
			
PackFix: If you're getting -10401 errors, PackFix may be the solution. It will
	go through each store's package information and check for corrupt data, and
	remove it. (freeware)

Wake Up Week: Puts a window up at wakeup time and shows you your coming week of
	the calendar. Also lets you file appointments and to do items in your
	foldrs, and view only a particular folder at a time (or all dates.)
	(shareware)

Drop To Do: An enhancement to the standard To Do list on the Newton, Drop To Do
	allows you to jot down To Do items in the note pad and drag and drop them
	onto a small button, adding them to the To Do list. It also lets you set
	priorities on various To Do items (from 1 to 100) and can alert you when
	you have an upcoming To Do. (shareware)

User Picker: Allows you to store multiple configurations (handwriting
	recognition, name, address, etc.,) in the same newton, and switch between 
	them. (shareware)

Clipper: Clipper places a button in the status bar of the notepad, or a floating, 
	draggable button anywhere on the newton screen. You can select text and drag 
	it onto the button to 'clip' it. Tapping on the button will bring up a list of 
	all such clippings. Selecting one will paste it after the current insertion 
	point. (shareware)

Mail Edit: Offers a new way to read and reply to email on the Newton. It
	allows you to read messages in a variety of fonts and sizes, and allows easy
	access to the keyboard and, if it's installed, Graffiti  It also makes use 
	of more of the screen, allowing you to edit more of a message at once.
	(shareware)

Note Man:	Places a small button in the upper left of your screen that will
	close the note pad, or, if another app is in front of it, will bring the
	note pad to the front. (shareware)
	
Constants: Places a new entry in your formulas app that allows access to a
	variety of physical constants. (freeware, for now)

Periodic Table: Adds a new entry to the formulas app with a periodic table.
	Clicking on an element brings up the data (such as atomic weight and volume) 
	of it. Also, molecular weights of compounds can be found. (shareware)

NotePopper:	places a button in your statusBar that will pop up a list of notes
	to which selected text can be appended. (shareware)
	
Score Pad: lets you keep score in two player games. (freeware)

Icon Editor: A (very) simple icon editor for the Newton (look for an improved
	version, coming soon to an archive near you! currently freeware)

What Error: Gives more information when an error message pops up.
	(shareware)

Names To All Overview: Sets the name file to open to all names in the overview
	mode at startup, so that names app opens faster. (freeware)
	
In Box Expander: Allows mail and beamed items to be received on the card or
	internal store. Also makes in and out boxes, connection, and card slips
	draggable. (freeware)

Librarian: Saves your place in books and bookmarks you make through hard
	restarts. Also allows you to use the power switch as a 'next page' button
	(on the MP100 only :-(  (shareware)

NameSelector: Pops up a window in which a single character can be entered.
	After writing that letter, it opens the name file and moves to the name which
	starts with the letter written. (shareware)

Store Keeper: Changes the default store whenever you're in Names or Dates so
	that information entered there always ends up on the internal store.
	(shareware)

Capitalizor: Allows you to change the case of an entire note to all upper or
	lower case, or capitalize all words in a note. (freeware)
	
Graph Paper: Places a button in the notepad that will make the notepad look
	like a sheet of graphpaper (note: does *not* show up on printing or faxing.)
	(freeware)

Hourly Chime: Allows you to make the newton chime periodically, on the hour or
	at some other interval. (freeware)

Scroll Menus: Makes all pop-up menus on the newton scroll if there are more
	items than will fit on screen. (shareware)

Version History:
_______________

1.2		21 Mar 95	Added double arrow version (thanks to Mark Moritz for the 
					idea.)

1.1		1 Jan 95	Added a few features for programmers
					
1.0		20 Nov 94	First public release
